/******************************************************************************
 * Copyright (C) 2013 - 2018 ShenZhen OnePlus Technology Co.,Ltd All Rights Reserved.
 * 本软件为深圳万普拉斯科技有限公司开发研制。未经本公司正式书面同意，其他任何个人、团体不得使用、复制、修改或发布本软件.
 *****************************************************************************/
package com.data.reports.manager;

import org.springframework.jdbc.support.rowset.SqlRowSet;

import java.util.List;
import java.util.Map;

/**
 * @author Hurricane.Hu
 * @version V1.0
 * @Title: SqlConfigService.java
 * @Package com.data.com.data.reports.manager
 * @Description
 * @date 2018 03-12 16:39.
 */
public interface SqlConfigService {

    /**
     * 添加Sql报表配置
     */
    Integer addSqlReportConfig(SqlReportConfig config);

    /**
     * 通过id获取Sql报表配置
     */
    SqlReportConfig getSqlReportConfigById(Integer id);

    /**
     * 通过唯一编码获取Sql报表配置
     */
    SqlReportConfig getSqlReportConfigByCode(String code);

    /**
     * 更新Sql报表配置
     */
    Integer updateSqlReportConfig(SqlReportConfig config);

    /**
     * 删除Sql报表配置
     */
    Integer deleteSqlReportConfig(Integer id);

    /**
     * 分页获取Sql报表配置
     */
    List<SqlReportConfig> listSqlReportConfigPage(Map<String,String> parameters);

    /**
     * 获取报表sql执行结果
     * @param config 配置
     * @param params 执行参数
     * @return
     */
    SqlRowSet getResultSet4ExecuteReportSql(SqlReportConfig config,Map<String,Object> params);
    /**
     * 获取报表sql执行行数结果
     * @param config 配置
     * @param params 执行参数
     * @return
     */
    Integer getCount4ExecuteReportSql(SqlReportConfig config,Map<String,Object> params);
}
